package multiThread.extendsThread;

import org.junit.jupiter.api.Test;

/**
 * @Author 郅占伟
 * @ClassName MyThreadTest
 * @Description: TODO
 * @Date 2023年12月01日
 * @Version: 1.0
 */
public class MyThreadTest {
    /**
     * @Description 创建多线程 · 使用无参构造参数
     * @Date 19:16 2023/12/1
    */
    @Test
    public void example01(){
        MyThread myThread = new MyThread();
        myThread.start();

        // 输出当前线程和子线程名字
        System.out.println("当前线程的名字：" + Thread.currentThread().getName());
        System.out.println("创建的子线程的名字：" + myThread.getName());
    }

    /**
     * @Description 创建多线程 · 使用有参构造参数
     * @Date 19:16 2023/12/1
     */
    @Test
    public void example02(){
        MyThread myThread = new MyThread("子线程的名字");
        myThread.start();

        // 输出当前线程和子线程名字
        System.out.println("当前线程的名字：" + Thread.currentThread().getName());
        System.out.println("创建的子线程MyThread的名字：" + myThread.getName());
    }

    /**
     * @Description 创建多线程 · 使用匿名内部类
     * @Date 19:27 2023/12/1
    */
    @Test
    public void example03(){
        MyThread myThread = new MyThread(){
            @Override
            public void run() {
                System.out.println("这个是使用匿名内部类创建的子线程");
            }
        };
        myThread.start();
        System.out.println("创建的子线程的名字：" + myThread.getName());
        System.out.println("当前线程的名字：" + Thread.currentThread().getName());
    }
}
